/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package auxiliar;

import java.util.List;

/**
 *
 * @author Schettino
 */
public class Pagina {
    private static int TAMANHO;
    private static int PROX_ID = 0;
    private int id;
    private int versao = 1;
    private Processo processo;
    private int ultimaReferencia;
    private int entradaMP;
    private LinhaTP linhaTP;
    private List<Instrucao> instrucoes;
    
    public Pagina(){
        processo = null;
        ultimaReferencia = -1;
        id = PROX_ID++;
    }
    
    public Pagina(Processo p){
        processo = p;
        ultimaReferencia = -1;
        id = PROX_ID++;
    }
    
    public Pagina(int end, Processo p, int ultimaRef, LinhaTP linha){
        processo = p;
        ultimaReferencia = ultimaRef;
        linhaTP = linha;
        id = PROX_ID++;
    }

    public Pagina(int id, Processo processo, int ultimaReferencia, LinhaTP linhaTP, List<Instrucao> instrucoes) {
        this.id = PROX_ID++;
        this.processo = processo;
        this.ultimaReferencia = ultimaReferencia;
        this.linhaTP = linhaTP;
        this.instrucoes = instrucoes;
    }
    
    public void incrementarVersao(){
        this.versao++;
    }

    public int getEntradaMP() {
        return entradaMP;
    }

    public void setEntradaMP(int entradaMP) {
        this.entradaMP = entradaMP;
    }
    
    public int getVersao() {
        return versao;
    }

    public void setVersao(int versao) {
        this.versao = versao;
    }

    public List<Instrucao> getInstrucoes() {
        return instrucoes;
    }

    public void setInstrucoes(List<Instrucao> instrucoes) {
        this.instrucoes = instrucoes;
    }
    
    public LinhaTP getLinhaTP() {
        return linhaTP;
    }

    public Processo getProcesso() {
        return processo;
    }

    public int getUltimaReferencia() {
        return ultimaReferencia;
    }

    public static int getTAMANHO() {
        return TAMANHO;
    }

    public static void setTAMANHO(int TAMANHO) {
        Pagina.TAMANHO = TAMANHO;
    }
    
    public int getId() {
        return id;
    }

    public void setProcesso(Processo processo) {
        this.processo = processo;
    }

    public void setUltimaReferencia(int ultimaReferencia) {
        this.ultimaReferencia = ultimaReferencia;
    }

    public void setLinhaTP(LinhaTP linhaTP) {
        this.linhaTP = linhaTP;
    }

    public void setId(int id) {
        this.id = id;
    }
    
}
